A document displayed on a computer monitor typically comprises multiple semantically distinct regions, such as a header, a footer or a sidebar, each region including one or more semantic elements such as text paragraphs, pictures, advertisement blocks or navigational links, etc. Each section occupies a unique location on the computer monitor. For example, the text paragraphs and pictures are usually the focus of the viewer and are therefore positioned at the center of the computer monitor, which is the most eye-catching part of the computer monitor. In contrast, the footer often contains boilerplate items that are deemed less important from a viewer's perspective, e.g., legal disclaimer, copyright notice or timestamp, and is therefore located at the bottom of the document.
Even though a semantically distinct region in a document is easily recognizable on a computer monitor by human eyes, it may be a difficult task for a computer program to identify its counterpart in a file that renders the document on the computer monitor. For example, a webpage displayed in a web browser window is typically created from a hypertext markup language (HTML) file by the web browser. The HTML file usually includes multiple syntactic elements, e.g., <TABLE> and </TABLE>, that instruct the web browser on how to display different components in the webpage in a specific manner. But it rarely occurs that, for instance, one pair of <TABLE> and </TABLE> corresponds to an actual table in the webpage. More than that, a semantically distinct region of a document, e.g., a sidebar of navigational links or a column of advertisement blocks, is often associated with multiple syntactic elements, but the corresponding HTML file does not group those elements together nor does it provide any other structure for identifying the plurality of elements that belong to a semantically distinct region.